runtime.m.locks (field)

45 uses

	runtime (current package)
		lock_futex.go#L58: 	if gp.m.locks < 0 {
		lock_futex.go#L61: 	gp.m.locks++
		lock_futex.go#L135: 	gp.m.locks--
		lock_futex.go#L136: 	if gp.m.locks < 0 {
		lock_futex.go#L139: 	if gp.m.locks == 0 && gp.preempt { // restore the preemption request in case we've cleared it in newstack
		mgc.go#L635: 	if gp := getg(); gp == mp.g0 || mp.locks > 1 || mp.preemptoff != "" {
		mgcmark.go#L421: 	if mp := getg().m; mp.locks > 0 || mp.preemptoff != "" {
		mgcsweep.go#L357: 	gp.m.locks++
		mgcsweep.go#L363: 		gp.m.locks--
		mgcsweep.go#L441: 	gp.m.locks--
		mgcsweep.go#L463: 	if gp.m.locks == 0 && gp.m.mallocing == 0 && gp != gp.m.g0 {
		mgcsweep.go#L502: 	if gp.m.locks == 0 && gp.m.mallocing == 0 && gp != gp.m.g0 {
		mprof.go#L772: 	if gp := getg(); gp.m.locks == 1 && gp.m.mLockProfile.cycles != 0 {
		panic.go#L773: 	if gp.m.locks != 0 {
		panic.go#L1333: 	if gp.m.locks < 0 {
		panic.go#L1334: 		gp.m.locks = 1
		panic.go#L1434: 	if mp.locks != 1 || mp.mallocing != 0 || mp.throwing != throwTypeNone || mp.preemptoff != "" || mp.dying != 0 {
		preempt.go#L288: 	return mp.locks == 0 && mp.mallocing == 0 && mp.preemptoff == "" && mp.p.ptr().status == _Prunning
		print.go#L67: 	mp.locks++ // do not reschedule between printlock++ and lock(&debuglock).
		print.go#L72: 	mp.locks-- // now we know debuglock is held and holding up mp.locks for us.
		proc.go#L1547: 	if gp.m.locks > 0 {
		proc.go#L2873: 	if gp.m.locks != 0 {
		proc.go#L3970: 	if mp.locks != 0 {
		proc.go#L4397: 	gp.m.locks++
		proc.go#L4463: 	gp.m.locks--
		proc.go#L4544: 	gp.m.locks++ // see comment in entersyscall
		proc.go#L4586: 	gp.m.locks--
		proc.go#L4621: 	gp.m.locks++ // see comment in entersyscall
		proc.go#L4669: 		gp.m.locks--
		proc.go#L4687: 	gp.m.locks--
		proc.go#L4852: 	gp.m.locks++
		proc.go#L4884: 	gp.m.locks--
		proc.go#L5537: 	gp.m.locks++
		proc.go#L5561: 	gp.m.locks--
		proc.go#L6393: 		print(" mallocing=", mp.mallocing, " throwing=", mp.throwing, " preemptoff=", mp.preemptoff, " locks=", mp.locks, " dying=", mp.dying, " spinning=", mp.spinning, " blocked=", mp.blocked, " lockedg=")
		proc.go#L7091: 	mp.locks++
		proc.go#L7109: 	gp.m.locks--
		rand.go#L145: 		mp.locks++ // hold m even though c.Refill may do stack split checks
		rand.go#L147: 		mp.locks--
		runtime1.go#L605: 	gp.m.locks++
		runtime1.go#L612: 	mp.locks--
		runtime1.go#L613: 	if mp.locks == 0 && gp.preempt {
		runtime2.go#L574: 	locks           int32
		sema.go#L250: 		if s.ticket == 1 && getg().m.locks == 0 {
		stack.go#L1068: 		if thisg.m.p == 0 && thisg.m.locks == 0 {